package yl.hs.bmipfull.service.equipment;

import yl.hs.bmipfull.pojo.equipment.InspectionReportEntity;
import yl.hs.bmipfull.service.IBaseService;
import yl.hs.bmipfull.viewmodels.PageQuery;
import yl.hs.bmipfull.viewmodels.PageResult;

import java.util.List;
import java.util.Map;

/**
 * @apiNote  巡检报告服务层接口
 * @since 2022年11月25日 16时58分36秒
 * @author 韩纪旺
 */

public interface IInspectionReportService extends IBaseService{

        /**
         * 查询巡检报告信息
         * @param pageQuery 查询条件 {@link PageQuery}
         * @return巡检报告信息-List<{@link InspectionReportEntity}>
         * @throws Exception 查询参数异常
         */
        List<InspectionReportEntity> queryList(PageQuery pageQuery)throws Exception;
        /**
         * 查询巡检报告信息
         * @param pageQuery 查询条件 {@link PageQuery}
         * @param rowNum 每页条数
         * @param page 页码
         * @return 巡检报告分页信息-PageResult<{@link InspectionReportEntity}>
         * @throws Exception 查询条件异常
         */
        PageResult<InspectionReportEntity> queryPage(PageQuery pageQuery, int rowNum, int page) throws Exception;



        /**
         * 根据巡检报告编号查询巡检报告信息
         * @param sn 编号
         * @return 巡检报告-{@link InspectionReportEntity}
         */
InspectionReportEntity findBySn(String sn);

        /**
         * 保存巡检报告信息
         * @param model 巡检报告表单信息
         * @param sn 巡检报告信息原有编号
         * @return 执行结果-受影响行数-Integer
         * @throws Exception 保存异常
         */
        Integer saveInspectionReport(Map<String, Object> model,String sn)throws Exception;

        /**
         * 根据巡检报告编号删除巡检报告信息
         * @param snArray 巡检报告编号
         * @return 影响行数
         */
        Integer delete(String[] snArray);
        }